package co.gov.medellin.ssti.sub.web.form;

import java.util.ArrayList;
import java.util.Collection;

import org.apache.struts.action.ActionForm;

import co.gov.medellin.ssti.sub.common.util.FiltrosReportesUtil;
import co.gov.medellin.ssti.sub.common.util.Utility;
import co.gov.medellin.ssti.sub.model.vo.BeneficioOtorgadoEmpresaVO;
import co.gov.medellin.ssti.sub.model.vo.CondicionConsultaVO;
import co.gov.medellin.ssti.sub.model.vo.EmpresaVO;
import co.gov.medellin.ssti.sub.model.vo.ProgramaVO;
import co.gov.medellin.ssti.sub.model.vo.RepAtributoVO;
import co.gov.medellin.ssti.sub.model.vo.RepEmpresaVO;
import co.gov.medellin.ssti.sub.model.vo.SubprogramaVO;

public class RepDetEmpresaForm extends ActionForm {
	/**
	 * 
	 */
	private static final long serialVersionUID = -5116618772459235457L;
	private RepEmpresaVO repEmpresaVO = new RepEmpresaVO();

	private Collection<EmpresaVO> empresas = new ArrayList<EmpresaVO>();
	private Collection<ProgramaVO> programas = new ArrayList<ProgramaVO>();
	private Collection<SubprogramaVO> subprogramas = new ArrayList<SubprogramaVO>();
	private Collection<BeneficioOtorgadoEmpresaVO> beneficios = new ArrayList<BeneficioOtorgadoEmpresaVO>();
	private Collection<String> actividadesEconomicas = new ArrayList<String>();

	private final Collection codAtributos = FiltrosReportesUtil.codCamposEmpresa;
	private Collection<CondicionConsultaVO> filtros = new ArrayList<CondicionConsultaVO>();
	// codigo del atributo (ej: "VFL_CODIGO_COMUNA")
	private String codeAtributo = "";
	// label o etiqueta que describe el atributo (ej: "COMUNA/CORREGIMIENTO).
	private String etiquetaAtributo = "";

	// codigo del operador (ej: ">=")
	private String codeOperador = "";
	// label o etiqueta que describe el operador (ej: "[>=] Mayor o Igual")
	private String etiquetaOperador = "";

	// Aplica para valores elegidos de una lista, si el valor es ingresado por
	// el usuario, la etiqueta sera el mismo valor.
	// Codigo del valor1 (ej: "A").
	private String valor1 = "";
	// label o etiqueta del valor1 (ej: "AFROCOLOMBIANO").
	private String etiquetaValor1 = "";

	private String valor2 = "";

	private String fechaIni = ""; // fecha inicial elegida (formato dd/MM/yyyy).
	private String fechaFin = ""; // fecha final elegida (formato dd/MM/yyyy).

	// codigo de la operacion (ej: Utility.OP_ADD_FILTRO). Los codigos de
	// operaciones estan el la clase Utility.
	private String operacion = "";
	private String posicion = "";
	private String generar;

	// Collection para operadores.
	private Collection<CondicionConsultaVO> operadores;

	// Collection para valores (si elige un atributo que carga por defecto sus
	// valores)
	private Collection<CondicionConsultaVO> valores1;
	private Collection<CondicionConsultaVO> valores2;

	// tipo correspondiente al atributo seleccionado (numerico, alfanumerico,
	// fecha)
	private String tipoCampo = "";

	private int indexFilter; // Indice (empezando en 1) del filtro a ser
								// eliminado.

	private Collection atributosBeneficio;
	private Collection<RepAtributoVO> lEspecificos;

	public Collection<EmpresaVO> getEmpresas() {
		return empresas;
	}

	public void setEmpresas(Collection<EmpresaVO> empresas) {
		this.empresas = empresas;
	}

	public Collection<ProgramaVO> getProgramas() {
		return programas;
	}

	public void setProgramas(Collection<ProgramaVO> programas) {
		this.programas = programas;
	}

	public Collection<SubprogramaVO> getSubprogramas() {
		return subprogramas;
	}

	public void setSubprogramas(Collection<SubprogramaVO> subprogramas) {
		this.subprogramas = subprogramas;
	}

	public RepEmpresaVO getRepEmpresaVO() {
		return repEmpresaVO;
	}

	public void setRepEmpresaVO(RepEmpresaVO repEmpresaVO) {
		this.repEmpresaVO = repEmpresaVO;
	}

	public String getOperacion() {
		return operacion;
	}

	public void setOperacion(String operacion) {
		this.operacion = operacion;
	}

	public Collection<BeneficioOtorgadoEmpresaVO> getBeneficios() {
		return beneficios;
	}

	public void setBeneficios(Collection<BeneficioOtorgadoEmpresaVO> beneficios) {
		this.beneficios = beneficios;
	}

	public Collection<CondicionConsultaVO> getFiltros() {
		return filtros;
	}

	public void setFiltros(Collection<CondicionConsultaVO> filtros) {
		this.filtros = filtros;
	}

	public String getCodeAtributo() {
		return codeAtributo;
	}

	public void setCodeAtributo(String codeAtributo) {
		this.codeAtributo = codeAtributo;
	}

	public String getEtiquetaAtributo() {
		return etiquetaAtributo;
	}

	public void setEtiquetaAtributo(String etiquetaAtributo) {
		this.etiquetaAtributo = etiquetaAtributo;
	}

	public String getCodeOperador() {
		return codeOperador;
	}

	public void setCodeOperador(String codeOperador) {
		this.codeOperador = codeOperador;
	}

	public String getEtiquetaOperador() {
		return etiquetaOperador;
	}

	public void setEtiquetaOperador(String etiquetaOperador) {
		this.etiquetaOperador = etiquetaOperador;
	}

	public String getValor1() {
		return valor1;
	}

	public void setValor1(String valor1) {
		this.valor1 = valor1;
	}

	public String getEtiquetaValor1() {
		return etiquetaValor1;
	}

	public void setEtiquetaValor1(String etiquetaValor1) {
		this.etiquetaValor1 = etiquetaValor1;
	}

	public String getValor2() {
		return valor2;
	}

	public void setValor2(String valor2) {
		this.valor2 = valor2;
	}

	public String getFechaIni() {
		return fechaIni;
	}

	public void setFechaIni(String fechaIni) {
		this.fechaIni = fechaIni;
	}

	public String getFechaFin() {
		return fechaFin;
	}

	public void setFechaFin(String fechaFin) {
		this.fechaFin = fechaFin;
	}

	public Collection<CondicionConsultaVO> getOperadores() {
		return operadores;
	}

	public void setOperadores(Collection<CondicionConsultaVO> operadores) {
		this.operadores = operadores;
	}

	public Collection<CondicionConsultaVO> getValores1() {
		return valores1;
	}

	public void setValores1(Collection<CondicionConsultaVO> valores1) {
		this.valores1 = valores1;
	}

	public Collection<CondicionConsultaVO> getValores2() {
		return valores2;
	}

	public void setValores2(Collection<CondicionConsultaVO> valores2) {
		this.valores2 = valores2;
	}

	public String getTipoCampo() {
		return tipoCampo;
	}

	public void setTipoCampo(String tipoCampo) {
		this.tipoCampo = tipoCampo;
	}

	public int getIndexFilter() {
		return indexFilter;
	}

	public void setIndexFilter(int indexFilter) {
		this.indexFilter = indexFilter;
	}

	public Collection getCodAtributos() {
		return codAtributos;
	}

	public String getPosicion() {
		return posicion;
	}

	public void setPosicion(String posicion) {
		this.posicion = posicion;
	}

	public String getGenerar() {
		return generar;
	}

	public void setGenerar(String generar) {
		this.generar = generar;
	}

	public Collection getAtributosBeneficio() {
		return atributosBeneficio;
	}

	public void setAtributosBeneficio(Collection atributosBeneficio) {
		this.atributosBeneficio = atributosBeneficio;
	}

	public Collection<RepAtributoVO> getlEspecificos() {
		return lEspecificos;
	}

	public void setlEspecificos(Collection<RepAtributoVO> lEspecificos) {
		this.lEspecificos = lEspecificos;
	}

	public Collection<String> getActividadesEconomicas() {
		return actividadesEconomicas;
	}

	public void setActividadesEconomicas(
			Collection<String> actividadesEconomicas) {
		this.actividadesEconomicas = actividadesEconomicas;
	}

}
